package com.rejuvee.myloginapplication.ui.login;

import androidx.annotation.Nullable;

import com.rejuvee.myloginapplication.data.model.LoggedInUserView;

/**
 * 登陆结果，通常表示网络上服务器的返回结果
 * <p>
 * 远程成功（返回用户详细信息）
 * <p>
 * 远程失败（返回用户名或者密码错误）
 */
public class LoginResult {
    @Nullable
    private LoggedInUserView loggedInUserView;
    @Nullable
    private Integer error;

    /**
     * 构造器：远程结果=失败
     *
     * @param error 失败的字符串资源ID
     */
    public LoginResult(@Nullable Integer error) {
        this.error = error;
    }

    /**
     * 构造器：远程结果=成功
     *
     * @param loggedInUserView 不包含敏感数据的用户信息
     */
    public LoginResult(@Nullable LoggedInUserView loggedInUserView) {
        this.loggedInUserView = loggedInUserView;
    }

    @Nullable
    LoggedInUserView getLoggedInUserView() {
        return loggedInUserView;
    }

    @Nullable
    Integer getError() {
        return error;
    }
}